// 给定一个字符串，验证它是否是回文串，
// 只考虑字母和数字字符，可以忽略字母的大小写。

// 说明：本题中，我们将空字符串定义为有效的回文串。
/**
 * @param {string} s
 * @return {boolean}
 */

var isPush = function(char){
    console.log(char);
    if(char === ' '){
        return false;
    }
    if( char>= 'a' && char <= 'z' ||  char>= 'A' && char <= 'Z' ||   char>= 0 && char <= 9 ){
        return true;
    }
}

 var isPalindrome = function(s) {
    if(!s){
        return true;
    }
    let arr = [];
    let flag = 0;
    for(let i = 0; i < s.length ; i++){
        if(isPush(s[i])){
            arr.push(s[i]);
        }
    }
    console.log(arr);
    let mid =  ( arr.length%2===0? arr.length/2 : arr.length/2+1);
    for(let i = 0,j=arr.length-1 ; i < mid ; i++,j--){
        console.log("arr[i]:",arr[i],"arr[j]",arr[j]);
        if(arr[i].toUpperCase() !== arr[j].toUpperCase()){
            return false;
        }
    }
    return true
};

// let s =  "A man, a plan, a canal: Panama";
let s = "race a car"
console.log(isPalindrome(s));
